﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QuanLyNganHangDe.DAL;
using QuanLyNganHangDe.BLL;
using QuanLyNganHangDe.DAL.Models;

namespace QuanLyNganHangDe.GUI.DuLieu
{
    public partial class FormKhoaBoMon : QuanLyNganHangDe.GUI.FormBaseDialog
    {
        public FormKhoaBoMon()
        {
            InitializeComponent();

            gridKhoaBoMon.ReadOnly = true;
            gridKhoaBoMon.AllowUserToAddRows = false;
            gridKhoaBoMon.AllowUserToDeleteRows = false;
            gridKhoaBoMon.AutoGenerateColumns = false;
            colKBM_MaKhoa.DataPropertyName = "MaKhoa";
            colKBM_TenKhoa.DataPropertyName = "TenKhoa";
            colKBM_TSHP.DataPropertyName = "TongSoHP";
        }

        private void OnLoad(object sender, EventArgs e)
        {
            btnKBM_Reload.PerformClick();
        }

        private void NapDanhSachKhoaBoMon()
        {
            var lsKhoa = BizDonViPhuTrach.GetListDonViPhuTrachChoLuoi();
            bsKhoa.DataSource = lsKhoa;
            gridKhoaBoMon.DataSource = bsKhoa;
            toolTongSoKhoa_Bomon.Text = "Tổng số Khoa/Bộ môn: " + (lsKhoa != null ? lsKhoa.Count.ToString() : "0");
        }



        private void OnReload_HocKyClick(object sender, EventArgs e)
        {
            this.LockUpdate();
            NapDanhSachKhoaBoMon();
            this.UnlockUpdate();
        }

        private void OnGridHocKyCellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
                btnKBM_Edit.PerformClick();
        }

        private void btnKBM_Edit_Click(object sender, EventArgs e)
        {
            var khoa = bsKhoa.Current as DonViGrid;
            if (khoa != null)
            {
                var k = new DonViPhuTrach();
                k.MaDonVi = khoa.MaKhoa;
                k.TenDonVi = khoa.TenKhoa;
                FormDonViPhuTrach_Detail form = new FormDonViPhuTrach_Detail(false, k);
                form.ShowDialog();
                NapDanhSachKhoaBoMon();
            }
            else
                MessageBox.Show("Bạn chưa chọn Khoa/Bộ môn nào cả", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void btnKBM_AddNew_Click(object sender, EventArgs e)
        {
            DonViPhuTrach donvi = new DonViPhuTrach();
            FormDonViPhuTrach_Detail form = new FormDonViPhuTrach_Detail(true, donvi);
            form.ShowDialog();
            NapDanhSachKhoaBoMon();
        }

        private void btnKBM_Delete_Click(object sender, EventArgs e)
        {
            var dv = bsKhoa.Current as DonViGrid;
            if (dv != null)
            {
                DonViPhuTrach donvi = new DonViPhuTrach();
                donvi.MaDonVi = dv.MaKhoa;
                if (MessageBox.Show("Bạn có chắc muốn xóa Khoa/Bộ môn " + dv.TenKhoa, "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.OK)
                {
                    if (BizDonViPhuTrach.Delete(donvi))
                    {
                        MessageBox.Show("Xóa thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        NapDanhSachKhoaBoMon();
                    }
                    else
                        MessageBox.Show("Bạn không thể xóa Khoa/Bộ môn " + dv.TenKhoa, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
                MessageBox.Show("Không tồn tại Khoa/Bộ môn nào cả", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }

        private void bsKhoa_DataSourceChanged(object sender, EventArgs e)
        {

        }

        private void bsKhoa_CurrentChanged(object sender, EventArgs e)
        {
            var ls = bsKhoa.Current as DonViGrid;
            if (ls != null)
            {
                btnKBM_Delete.Enabled = true;
                btnKBM_Edit.Enabled = true;
            }
            else
            {
                btnKBM_Delete.Enabled = false;
                btnKBM_Edit.Enabled = false;
            }
        }
    }
}
